package com.koron.ticket.operation.service;


import com.github.pagehelper.PageInfo;
import com.koron.common.core.business.common.service.CommonService;
import com.koron.ticket.operation.bean.OperationDescBean;
import com.koron.ticket.operation.bean.OperationStepBean;
import com.koron.ticket.operation.bean.OperationTicketBean;
import com.koron.ticket.operation.bean.dto.OperationSubmitDto;
import com.koron.ticket.operation.bean.dto.OperationTicketDetailsDto;
import com.koron.ticket.operation.bean.dto.OperationTicketQueryDto;
import com.koron.ticket.operation.bean.dto.OperationTicknNewsDto;
import com.koron.ticket.operation.bean.excelbean.OperationStepBaseTemplate;
import com.koron.ticket.operation.bean.excelbean.OperationStepTemplate;
import com.koron.ticket.operation.bean.print.OperationFactoryBean;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;


public interface OperationService extends CommonService {

    String saveOrUpdate(SessionFactory factory, OperationTicketBean bean);

    int deleteById(SessionFactory factory, String id);

    OperationTicketDetailsDto queryById(SessionFactory factory, String id);

    PageInfo queryList(SessionFactory factory, OperationTicketQueryDto queryBean);

    List<OperationTicketQueryDto> queryListNoPage(SessionFactory factory, OperationTicknNewsDto dto);

    int submit(SessionFactory factory, OperationSubmitDto dto);

    Boolean checkSign(SessionFactory factory, String userName, String password);

    List<OperationStepBean> excelImpDetStepdet();

    OperationStepBaseTemplate checkForDuplicates(SessionFactory factory, List<OperationStepTemplate> inputEntity);

    int recordContext(SessionFactory factory, OperationDescBean bean);

    List<OperationFactoryBean> printOperation(SessionFactory factory,String id);
}
